// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';

/** 获取内容 后端：https://gitee.com/api/v5/repos/{owner}/{repo}/contents(/{path})
需要携带鉴权（access-token）
需要判断giteeAPI返回的数据有无content属性来判断其是否是file or dir。
file需要返回content
dir需要返回多组数据

前端：判断msg属性
msg=dir：返回的是目录下的各种文件和软件包，有多组数据，并附带数据类型
msg=file: 返回的是content GET /api/contents/get */
export async function getContentsGet(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getContentsGetParams,
  options?: { [key: string]: any },
) {
  return request<{
    code: number;
    msg?: string;
    success: string;
    data1?: { content?: string; sha?: string };
    data2?: { name?: string; sha?: string };
  }>('/api/contents/get', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  });
}

/** 更新内容  后端：https://gitee.com/api/v5/repos/{owner}/{repo}/contents/{path}
需要携带鉴权（access-token） PUT /api/contents/update */
export async function putContentsUpdate(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.putContentsUpdateParams,
  options?: { [key: string]: any },
) {
  return request<{ code: number; msg?: string; data: { content: string; sha: string } }>(
    '/api/contents/update',
    {
      method: 'PUT',
      params: {
        ...params,
      },
      ...(options || {}),
    },
  );
}

/** 添加仓库 把选中的html_url发送到后端，后端会存到数据库中。 POST /api/repo/add */
export async function postRepoAdd(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.postRepoAddParams,
  options?: { [key: string]: any },
) {
  return request<{ code: string; msg: string; success: string; data: string }>('/api/repo/add', {
    method: 'POST',
    params: {
      ...params,
    },
    ...(options || {}),
  });
}
